unit List_Superv;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Formulario_Padrao_Consulta, ExtCtrls, StdCtrls, Buttons, RDprint,
  TFlatButtonUnit;

type
  TFrmList_Super = class(TFrmConsulta)
    BitBtn1: TBitBtn;
    p_tipo: TRadioGroup;
    RDP: TRDprint;
    Ed_ImpAtivos: TRadioGroup;
    procedure BtnFecharClick(Sender: TObject);
    procedure RDPNewPage(Sender: TObject; Pagina: Integer);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmList_Super: TFrmList_Super;

implementation

uses biblio, dbtables, clsCidade, Dm, clsbanco;

var
  pg: integer;
  cidade: tcidade;
  banco: tbanco;

{$R *.DFM}

procedure TFrmList_Super.BtnFecharClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TFrmList_Super.RDPNewPage(Sender: TObject; Pagina: Integer);
begin
  inherited;
  pg := pg + 1;
  if p_tipo.ItemIndex = 0 then begin
    Cabecalho('MODULO INDUSTRIAL', 'Listagem de Supervisores ( Completa )', '', '', pg, rdp);
  end else begin
    Cabecalho('MODULO INDUSTRIAL', 'Listagem de Supervisores ( Resumida )', '', '', pg, rdp);
    rdp.impf(7, 01, 'Codigo', [negrito, comp17]);
    rdp.impf(7, 06, 'Nome', [negrito, comp17]);
    rdp.impf(7, 32, 'Cidade', [negrito, comp17]);
    rdp.impf(7, 55, 'Telefone', [negrito, comp17]);
    rdp.impf(7, 65, 'Celular', [negrito, comp17]);
    rdp.imp(8, 1, '--------------------------------------------------------------------------------');
  end;
end;

procedure TFrmList_Super.BitBtn1Click(Sender: TObject);
var
  tq: TQuery;
  linha, n: integer;
  impr: boolean;
  x: string;
begin
  inherited;
  pg := 0;
  linha := 1;
  n := 52;
  impr := false;
  with RDP do begin
    Abrir;
    tq := TQuery.Create(dmint.db);
    tq.DatabaseName := dmint.db.DatabaseName;
    tq.active := false;
    tq.SQL.clear;
    tq.params.clear;
    if Ed_ImpAtivos.ItemIndex = 0 then begin
      tq.sql.add('Select * from Supervisor where sup_dataina=:K_data order by Sup_Codigo');
      tq.ParamByName('K_data').AsDateTime := 0;
    end else
      tq.sql.add('Select * from Supervisor order by Sup_Codigo');
    tq.open;
    while not tq.eof do begin
      if linha > n then begin
        NovaPagina;
        linha := 1;
      end;
      impr := true;
      if p_tipo.ItemIndex = 0 then begin
        impf(linha + 6, 01, 'Codigo : ' + tq.fieldbyname('Sup_Codigo').asstring, [comp20]);
        impf(linha + 6, 29, 'CEP    : ' + tq.fieldbyname('Sup_Cep').asstring, [comp20]);
        impf(linha + 6, 56, 'DataCad: ' + tq.fieldbyname('Sup_DataCad').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        impf(linha + 6, 01, 'Nome   : ' + tq.fieldbyname('Sup_Nome').asstring, [comp20]);
        impf(linha + 6, 29, 'N.Conta: ' + tq.fieldbyname('Sup_NumConta').asstring, [comp20]);
        x := formatfloat('#,###,##0.00', tq.fieldbyname('Sup_SaldoInicial').asfloat);
        x := stringofchar(' ', 12 - length(x)) + x;
        impf(linha + 6, 56, 'Sal.Ini: ' + x, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        cidade := tcidade.create;
        cidade.recuperar(tq.fieldbyname('Cid_Codigo').asstring);
        impf(linha + 6, 01, 'Cidade : ' + cidade.cid_nome, [comp20]);
        impf(linha + 6, 29, 'Agencia: ' + tq.fieldbyname('Sup_Agencia').asstring, [comp20]);
        impf(linha + 6, 56, 'Email  : ' + tq.fieldbyname('Sup_Email').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        cidade.free;
        banco := tbanco.create;
        banco.recuperar(tq.fieldbyname('Ban_Codigo').asstring);
        impf(linha + 6, 01, 'Banco  : ' + banco.ban_nome, [comp20]);
        banco.free;
        x := formatfloat('##0.00', tq.fieldbyname('Sup_Comissao').asfloat);
        x := stringofchar(' ', 6 - length(x)) + x;
        impf(linha + 6, 29, 'Comis. : ' + x + ' %', [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        impf(linha + 6, 01, 'Resp.  : ' + tq.fieldbyname('Sup_Responsavel').asstring, [comp20]);
        impf(linha + 6, 29, 'CNPJ   : ' + tq.fieldbyname('Sup_Cnpj').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        impf(linha + 6, 01, 'Ender. : ' + tq.fieldbyname('Sup_Endereco').asstring, [comp20]);
        impf(linha + 6, 29, 'CPF    : ' + tq.fieldbyname('Sup_CPF').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        impf(linha + 6, 01, 'Bairro : ' + tq.fieldbyname('Sup_Bairro').asstring, [comp20]);
        impf(linha + 6, 29, 'Insc.E.: ' + tq.fieldbyname('Sup_InscEst').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        impf(linha + 6, 01, 'Telef. : ' + tq.fieldbyname('Sup_Fone').asstring, [comp20]);
        impf(linha + 6, 29, 'Data In: ' + tq.fieldbyname('Sup_DataIna').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        impf(linha + 6, 01, 'Celul. : ' + tq.fieldbyname('Sup_Celular').asstring, [comp20]);
        impf(linha + 6, 29, 'RG     : ' + tq.fieldbyname('Sup_rg').asstring, [comp20]);
        imp(linha + 6, 27, '|');
        imp(linha + 6, 54, '|');
        linha := linha + 1;
        imp(linha + 6, 01, '--------------------------------------------------------------------------------');
        linha := linha + 1;
      end else begin
        impf(linha + 8, 01, tq.fieldbyname('Sup_Codigo').asstring, [comp17]);
        impf(linha + 8, 06, tq.fieldbyname('Sup_Nome').asstring, [comp17]);
        cidade := tcidade.create;
        cidade.recuperar(tq.fieldbyname('Cid_Codigo').asstring);
        impf(linha + 8, 32, cidade.cid_nome, [comp17]);
        cidade.free;
        impf(linha + 8, 55, tq.fieldbyname('Sup_fone').asstring, [comp17]);
        impf(linha + 8, 65, tq.fieldbyname('Sup_celular').asstring, [comp17]);
        linha := linha + 1;
      end;
      tq.Next;
    end;
    tq.close;
    tq.free;
    if p_tipo.ItemIndex = 1 then begin
      if impr then
        imp(linha + 8, 01, '--------------------------------------------------------------------------------');
    end;
    Setup;
    Fechar;
  end;
  close;
end;

procedure TFrmList_Super.FormActivate(Sender: TObject);
begin
  inherited;
  p_tipo.SetFocus;
end;

end.

